# pinecone_example.py
from pinecone import Pinecone, ServerlessSpec
import numpy as np

# 初始化 Pinecone 客户端（请替换为你自己的 API key）
pc = Pinecone(api_key="pcsk_4RZEQz_7gy8B1tBbXWFw22UX6swnKLafVduhYCrTx4eULaxrpgsWEEAnt96Y7hXstdgFqi")

# 索引名称
index_name = "example-index"

# 删除已有索引（如果存在）
if index_name in pc.list_indexes().names():
    pc.delete_index(index_name)
    print(f"已删除旧索引：{index_name}")

# 创建新索引（必须指定 spec）
pc.create_index(
    name=index_name,
    dimension=64,
    metric="euclidean",
    spec=ServerlessSpec(
        cloud="aws",
        region="us-east-1"
    )
)

print("索引创建成功！")
index = pc.Index(index_name)

# 上传一个示例向量
example_vector = np.random.rand(64).tolist()
index.upsert([("vec1", example_vector)])
print("已上传示例向量。")

# 查询
result = index.query(vector=example_vector, top_k=1)
print("查询结果:", result)

# 清理
pc.delete_index(index_name)
print("示例完成，索引已删除。")